//////////////////////////////////////////////////////////////////////////////////////////////
//	File			:	"WorldMapState.h"
//
//	Author			:	Mike Davis, Matt Stover, James Thornton, Keith Webster
//	
//	Project			:	TacWars
//
//	Last Modified	:	11/6/2013
//
//	Purpose			:	
//
//////////////////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "IGameState.h"



class CSGD_MessageSystem;
class CSGD_EventSystem;
class IMessage;
class CBitmapFont;


class WorldMapState : public IGameState
{
public:
	static WorldMapState* GetInstance();

	virtual void Enter();
	virtual void Exit();						
	virtual bool Input();					
	virtual void Update( float fElapsedTime );	
	virtual void Render();	
	bool Keyboard();
	int GetSelectedMap() {return selectedMap;}
	void SetLevelSlot(int v) {levelSlot = v;}
	int GetLevelSlot() {return levelSlot;}

	//struct MapNode
	//{
	//	bool won;
	//	MapNode* prev;
	//	MapNode* next;
	//	bool selected;
	//};
	


private:
	WorldMapState();
	virtual ~WorldMapState();
	WorldMapState(const WorldMapState&);
	WorldMapState& operator= (const WorldMapState&);

	static void MessageProc(IMessage* pMsg);

	int cursorX, cursorY;
	int worldMapImgID, selectedMap;
	int map1ImgID, map1_2ImgID, map1_3ImgID, map2ImgID, map2_2ImgID, map2_3ImgID,
		map3ImgID, map3_2ImgID, map3_3ImgID, levelSlot;
	bool yUp;
	bool yDown;
	bool xRight;
	bool xLeft;

};